package Test7;

import java.util.Scanner;

public class Test5 {
    public static void main(String[] args) {
        //定义一个长度为3的数组，数组存储1~3名学生对象作为初始数据，学生对象的学号，姓名各不相同。
        //学生的属性:学号，姓名，年龄。
        //要求3:通过id删除学生信息如果存在，则删除，如果不存在，则提示删除失败。
        //要求4:删除完毕之后，遍历所有学生信息。

        //1.创建一个数组用来存储学生对象
        Student[] arr = new Student[3];
        //2.创建学生对象
        Student stu1 = new Student(1, "zhangsan", 23);
        Student stu2 = new Student(2, "lisi", 24);
        Student stu3 = new Student(3, "wangwu", 25);
        //3.把学生对象添加到数组当中
        arr[0] = stu1;
        arr[1] = stu2;
        arr[2] = stu3;

        //要求3:通过id删除学生信息如果存在，则删除，如果不存在，则提示删除失败。
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你要删除学生的id：");
        int id = sc.nextInt();
        //要找到id在数组中对应的索引
        int index = getindex(arr,id);
        if(index == -1){
            System.out.println("删除失败！");
        }else {
            arr[index] = null;
            //要求4:删除完毕之后，遍历所有学生信息。
            printArr(arr);
        }
    }

    //要找到id在数组中对应的索引
    public static int getindex(Student[] arr,int id){
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] != null){
                if(id == arr[i].getId()){
                    return i;//相等返回索引
                }
            }
        }
        return -1;//不相等返回-1
    }

    //循环遍历数组打印
    public static void printArr(Student[] arr) {
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] != null) {
                System.out.println(arr[i].getId() + "，" + arr[i].getName() + "，" + arr[i].getAge());
            }
        }
    }
}
